﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Serialization;
using System.IO;

namespace Drachenboot_Tools
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }
        
        DataTable dt;
        List<string> sName = new List<string>();
        List<int> iGewicht = new List<int>();
        public List<string> sSeite = new List<string>();
        List<string> sGeschlaecht = new List<string>();
        List<string> sPaddlerRechts = new List<string>();
        List<string> sPaddlerLinks = new List<string>();
        List<string> sAufstellung = new List<string>();
        string LastSIR1, LastSIR2, LastSIR3, LastSIR4, LastSIR5, LastSIR6, LastSIR7, LastSIR8, LastSIR9, LastSIR10, LastSIT, LastSIS;
        string LastSIL1, LastSIL2, LastSIL3, LastSIL4, LastSIL5, LastSIL6, LastSIL7, LastSIL8, LastSIL9, LastSIL10;
        int GewichtRechts, GewichtLinks, GesamtGewicht;
        int Frauen, Männer;
        Bitmap memoryImage;

        int AnzTeams=0;
        static string aktTeamName = "";

        List<string> sTeamName = new List<string>();

        private void frmMain_Load(object sender, EventArgs e)
        {
            #region DeSerialisierung
            /* Serialisierung
            var x = new clsSerialisierung();
            x.bsp = "deine mudda";

            clsSerialisierung.Serialize(x);
            */
            /* Deserialisierung
            var x = new clsSerialisierung();
            x = clsSerialisierung.DeSerialize();
            MessageBox.Show(x.bsp);
            */
            /*Liste Ser
            var x = new clsSerialisierung();
            for (int i = 0; i < sName.Count; i++)
            {
                x.sName.Add(sName[i]);
                x.iGewicht.Add(iGewicht[i]);
                x.sSeite.Add(sSeite[i]);
            }
            clsSerialisierung.Serialize(x);
            */
            /*
            var x = new clsSerialisierung();
            x = clsSerialisierung.DeSerialize();
            for(int i = 0; i<x.sName.Count; i++)
            {
                sName.Add(x.sName[i]);
                iGewicht.Add(x.iGewicht[i]);
                sSeite.Add(x.sSeite[i]);
                sGeschlaecht.Add(x.sGeschlaecht[i]);
            }*/
            DeSerialisierung();
            #endregion
            #region DataGridView
            dt = new DataTable("Paddler");
            dt.Columns.Add(new DataColumn("Name"));
            dt.Columns.Add(new DataColumn("Gewicht", typeof(int)));
            dt.Columns.Add(new DataColumn("Geschlächt"));
            dt.Columns.Add(new DataColumn("Seite"));
            if (sName.Count == 0)
            {
                AddNewRow(dt, "Beispiel-Name", 80, "Männlich", "Rechts");
            }
            for (int i = 0; i < sName.Count; i++)
            {
                AddNewRow(dt, sName[i], iGewicht[i], sGeschlaecht[i], sSeite[i]);
                
            }
            dGVPaddler.DataSource = dt;
            #endregion
            for (int i = 0; i < sTeamName.Count; i++)
            {
                lBTeams.Items.Add(sTeamName[i]);
            }
            #region Voreinstellungen
            cBBootsTyp.SelectedIndex = 0;
            #endregion

            SpreadsheetMLHelper.ExportDataTableToWorksheet(dt, "datenTable");

            SeitenSortieren();
            ListToAufstellung();
        }

        private void SeitenSortieren()
        {
            sPaddlerRechts.Clear();
            sPaddlerLinks.Clear();
            int SortierungsIndexRechts = 0;
            int SortierungsIndexLinks = 0;
            int SortierungsIndexBeides = 0;

            for (int i = 0; i < sSeite.Count; i++)
            {
                if (sSeite[i] == "Rechts")
                {
                    SortierungsIndexRechts = sSeite.IndexOf("Rechts", SortierungsIndexRechts);
                    sPaddlerRechts.Add(sName[SortierungsIndexRechts]);
                    SortierungsIndexRechts++;
                }
                else if (sSeite[i] == "Links")
                {
                    SortierungsIndexLinks = sSeite.IndexOf("Links", SortierungsIndexLinks);
                    sPaddlerLinks.Add(sName[SortierungsIndexLinks]);
                    SortierungsIndexLinks++;
                }
                else
                {
                    SortierungsIndexBeides = sSeite.IndexOf("Beides", SortierungsIndexBeides);
                    sPaddlerLinks.Add(sName[SortierungsIndexBeides]);
                    sPaddlerRechts.Add(sName[SortierungsIndexBeides]);
                    SortierungsIndexBeides++;
                }
            }
            cBErstesZuweisen();
        }

        private void cBErstesZuweisen()
        {
            #region Paddler Rechts
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R1.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R1.Items.Add(sPaddlerRechts[i]);
                }
            }

            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R2.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R2.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R3.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R3.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R4.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R4.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R5.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R5.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R6.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R6.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R7.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R7.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R8.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R8.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R9.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R9.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10R10.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10R10.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10Steuer.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10Steuer.Items.Add(sPaddlerRechts[i]);
                }
            }
            for (int i = 0; i < sPaddlerRechts.Count; i++)
            {
                if (!cB10Trommel.Items.Contains(sPaddlerRechts[i]))
                {
                    cB10Trommel.Items.Add(sPaddlerRechts[i]);
                }
            }
            #endregion
            #region Paddler Links
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L1.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L1.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L2.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L2.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L3.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L3.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L4.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L4.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L5.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L5.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L6.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L6.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L7.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L7.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L8.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L8.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L9.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L9.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10L10.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10L10.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10Steuer.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10Steuer.Items.Add(sPaddlerLinks[i]);
                }
            }
            for (int i = 0; i < sPaddlerLinks.Count; i++)
            {
                if (!cB10Trommel.Items.Contains(sPaddlerLinks[i]))
                {
                    cB10Trommel.Items.Add(sPaddlerLinks[i]);
                }
            }

            #endregion
        }

        private void AddNewRow(DataTable dt, string name, int gewicht, string geschlaecht, string seite)
        {
            DataRow dr = dt.NewRow();
            
            dr[0] = name; dr[1] = gewicht; dr[2] = geschlaecht; dr[3] = seite;
            dt.Rows.Add(dr);
        }
        private void AddNewListRow(DataTable dt, string name, int gewicht, string geschlaecht, string seite)
        {
            sName.Add(name);
            iGewicht.Add(gewicht);
            sSeite.Add(seite);
            sGeschlaecht.Add(geschlaecht);

            DataRow dr = dt.NewRow();
            dr[0] = name; dr[1] = gewicht; dr[2] = geschlaecht; dr[3] = seite;
            dt.Rows.Add(dr);

            Serialisierung();

        }
        private void Serialisierung()
        {
            var x = new clsSerialisierung();
            for (int i = 0; i < sName.Count; i++)
            {
                x.Paddler.sName.Add(sName[i]);
                x.Paddler.iGewicht.Add(iGewicht[i]);
                x.Paddler.sSeite.Add(sSeite[i]);
                x.Paddler.sGeschlaecht.Add(sGeschlaecht[i]);
                
            }
            /*
            for (int i = 0; i < sTeamName.Count; i++)
            {
                x.Teams.sTeams.Add(sTeamName[i]);
            }
            */

            x.AnzTeams = AnzTeams;

            for (int i = 0; i < sAufstellung.Count; i++)
            {
                x.Aufstellung.sAufstellung.Add(sAufstellung[i]);
            }
            
            clsSerialisierung.Serialize(x);
        }
        private void DeSerialisierung()
        {
            var x = new clsSerialisierung();
            x = clsSerialisierung.DeSerialize();
            for (int i = 0; i < x.Paddler.sName.Count; i++)
            {
                sName.Add(x.Paddler.sName[i]);
                iGewicht.Add(x.Paddler.iGewicht[i]);
                sSeite.Add(x.Paddler.sSeite[i]);
                sGeschlaecht.Add(x.Paddler.sGeschlaecht[i]);
            }
            for (int i = 0; i < x.Aufstellung.sAufstellung.Count; i++)
            {
                sAufstellung.Add(x.Aufstellung.sAufstellung[i]);
            }

            AnzTeams = x.AnzTeams;
            /*
            for (int i = 0; i < x.Teams.sTeams.Count; i++)
            {
                sTeamName.Add(x.Teams.sTeams[i]);
            }
             */
        }
        private void cmdPaddlerplus_Click(object sender, EventArgs e)
        {
            string cmdSeite;
            string cmdGeschlaecht;
            if (!sName.Contains(txtName.Text))
            {
                if (sName.Count == 0)
                {
                    try
                    {
                        dt.Rows.RemoveAt(0);
                    }
                    catch
                    { }
                }
                if (rbLinks.Checked == true)
                {
                    cmdSeite = "Links";
                    sPaddlerLinks.Add(txtName.Text);
                    cB10L1.Items.Add(txtName.Text);
                    cB10L2.Items.Add(txtName.Text);
                    cB10L3.Items.Add(txtName.Text);
                    cB10L4.Items.Add(txtName.Text);
                    cB10L5.Items.Add(txtName.Text);
                    cB10L6.Items.Add(txtName.Text);
                    cB10L7.Items.Add(txtName.Text);
                    cB10L8.Items.Add(txtName.Text);
                    cB10L9.Items.Add(txtName.Text);
                    cB10L10.Items.Add(txtName.Text);
                    cB10Trommel.Items.Add(txtName.Text);
                    cB10Steuer.Items.Add(txtName.Text);
                }
                else if(rbRechts.Checked == true)
                {
                    cmdSeite = "Rechts";
                    sPaddlerRechts.Add(txtName.Text);
                    cB10R1.Items.Add(txtName.Text);
                    cB10R2.Items.Add(txtName.Text);
                    cB10R3.Items.Add(txtName.Text);
                    cB10R4.Items.Add(txtName.Text);
                    cB10R5.Items.Add(txtName.Text);
                    cB10R6.Items.Add(txtName.Text);
                    cB10R7.Items.Add(txtName.Text);
                    cB10R8.Items.Add(txtName.Text);
                    cB10R9.Items.Add(txtName.Text);
                    cB10R10.Items.Add(txtName.Text);
                    cB10Trommel.Items.Add(txtName.Text);
                    cB10Steuer.Items.Add(txtName.Text);
                }
                else
                {
                    cmdSeite = "Beides";
                    sPaddlerLinks.Add(txtName.Text);
                    cB10L1.Items.Add(txtName.Text);
                    cB10L2.Items.Add(txtName.Text);
                    cB10L3.Items.Add(txtName.Text);
                    cB10L4.Items.Add(txtName.Text);
                    cB10L5.Items.Add(txtName.Text);
                    cB10L6.Items.Add(txtName.Text);
                    cB10L7.Items.Add(txtName.Text);
                    cB10L8.Items.Add(txtName.Text);
                    cB10L9.Items.Add(txtName.Text);
                    cB10L10.Items.Add(txtName.Text);
                    sPaddlerRechts.Add(txtName.Text);
                    cB10R1.Items.Add(txtName.Text);
                    cB10R2.Items.Add(txtName.Text);
                    cB10R3.Items.Add(txtName.Text);
                    cB10R4.Items.Add(txtName.Text);
                    cB10R5.Items.Add(txtName.Text);
                    cB10R6.Items.Add(txtName.Text);
                    cB10R7.Items.Add(txtName.Text);
                    cB10R8.Items.Add(txtName.Text);
                    cB10R9.Items.Add(txtName.Text);
                    cB10R10.Items.Add(txtName.Text);
                }
                if (rbMaenlich.Checked == true)
                {
                    cmdGeschlaecht = "Männlich";
                }
                else
                {
                    cmdGeschlaecht = "Weiblich";
                }
                if (txtName.Text == "")
                {
                    MessageBox.Show("Gib bitte einen Namen ein", "Fehler");
                }
                else
                {
                    AddNewListRow(dt, txtName.Text, Convert.ToInt32(numGewicht.Value), cmdGeschlaecht, cmdSeite);
                }
            }
            else
            {
                MessageBox.Show("Name bereits vorhanden", "Fehler");
            }
        }

        private void cmdPaddlerMinus_Click(object sender, EventArgs e)
        {
            int Index;
            try
            {
                Index = sName.IndexOf(txtPaddlerLöschenName.Text);
                sPaddlerLinks.Remove(txtPaddlerLöschenName.Text);
                sPaddlerRechts.Remove(txtPaddlerLöschenName.Text);
                #region ComboBox Remove
                cB10R1.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R2.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R3.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R4.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R5.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R6.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R7.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R8.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R9.Items.Remove(txtPaddlerLöschenName.Text);
                cB10R10.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L1.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L2.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L3.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L4.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L5.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L6.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L7.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L8.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L9.Items.Remove(txtPaddlerLöschenName.Text);
                cB10L10.Items.Remove(txtPaddlerLöschenName.Text);
                cB10Trommel.Items.Remove(txtPaddlerLöschenName.Text);
                cB10Steuer.Items.Remove(txtPaddlerLöschenName.Text);
                #endregion
                iGewicht.RemoveAt(Index);
                sGeschlaecht.RemoveAt(Index);
                sSeite.RemoveAt(Index);
                sName.Remove(txtPaddlerLöschenName.Text);
                dt.Rows.RemoveAt(Index);
                Serialisierung();
                txtPaddlerLöschenName.Text = "";
            }
            catch
            {
                MessageBox.Show("Name konnte nicht gefunden werden","Fehler");
            }

        }

        private void cmdTeamPlus_Click(object sender, EventArgs e)
        {
            AnzTeams++;
            aktTeamName = txtTeamName.Text;
            lBTeams.Items.Add(txtTeamName.Text);
            //sTeamName.Add(txtTeamName.Text);
            lBTeams.SelectedItem = txtTeamName.Text;
            Serialisierung();

            var y = new clsTeams();
            y.TeamName = aktTeamName;
            //Serialize(y);
        }

        private void cmdTeamMinus_Click(object sender, EventArgs e)
        {
            sTeamName.Remove(lBTeams.SelectedItem.ToString());
            lBTeams.Items.Remove(lBTeams.SelectedItem);
            AnzTeams--;
            Serialisierung();
        }

        private void dGVPaddler_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
        }

        private void lBTeams_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lBTeams.Items.Count == 0)
            {
                lbTeamNameBearbeiten.Text = "Füge Teams hinzu";
            }
            else
            {
                try
                {
                    lbTeamNameBearbeiten.Text = lBTeams.SelectedItem.ToString();
                }
                catch(NullReferenceException)
                {
                    lBTeams.SelectedIndex = 0;
                }

                
            }
            
        }

        private void cBBootsTyp_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cBBootsTyp.SelectedIndex == 0)
            {
                p10BankBoot.Visible = true;
            }
            else
            {
                p10BankBoot.Visible = false;
            }
        }

        #region SelectedIndexChangedRechts
        private void cB10R1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R1.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R2.Items.Add(LastSIR1);
                cB10R3.Items.Add(LastSIR1);
                cB10R4.Items.Add(LastSIR1);
                cB10R5.Items.Add(LastSIR1);
                cB10R6.Items.Add(LastSIR1);
                cB10R7.Items.Add(LastSIR1);
                cB10R8.Items.Add(LastSIR1);
                cB10R9.Items.Add(LastSIR1);
                cB10R10.Items.Add(LastSIR1);
                cB10Steuer.Items.Add(LastSIR1);
                cB10Trommel.Items.Add(LastSIR1);
                #endregion
            }
            catch { }
            LastSIR1 = SelectedItem;
            BerechneGewichtRechts();
            
        }

        private void cB10R2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R2.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR2);
                cB10R3.Items.Add(LastSIR2);
                cB10R4.Items.Add(LastSIR2);
                cB10R5.Items.Add(LastSIR2);
                cB10R6.Items.Add(LastSIR2);
                cB10R7.Items.Add(LastSIR2);
                cB10R8.Items.Add(LastSIR2);
                cB10R9.Items.Add(LastSIR2);
                cB10R10.Items.Add(LastSIR2);
                cB10Steuer.Items.Add(LastSIR2);
                cB10Trommel.Items.Add(LastSIR2);
                #endregion
            }
            catch { }
            LastSIR2 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R3_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R3.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR3);
                cB10R2.Items.Add(LastSIR3);
                cB10R4.Items.Add(LastSIR3);
                cB10R5.Items.Add(LastSIR3);
                cB10R6.Items.Add(LastSIR3);
                cB10R7.Items.Add(LastSIR3);
                cB10R8.Items.Add(LastSIR3);
                cB10R9.Items.Add(LastSIR3);
                cB10R10.Items.Add(LastSIR3);
                cB10Steuer.Items.Add(LastSIR3);
                cB10Trommel.Items.Add(LastSIR3);
                #endregion
            }
            catch { }
            LastSIR3 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R4_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R4.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR4);
                cB10R2.Items.Add(LastSIR4);
                cB10R3.Items.Add(LastSIR4);
                cB10R5.Items.Add(LastSIR4);
                cB10R6.Items.Add(LastSIR4);
                cB10R7.Items.Add(LastSIR4);
                cB10R8.Items.Add(LastSIR4);
                cB10R9.Items.Add(LastSIR4);
                cB10R10.Items.Add(LastSIR4);
                cB10Steuer.Items.Add(LastSIR4);
                cB10Trommel.Items.Add(LastSIR4);
                #endregion
            }
            catch { }
            LastSIR4 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R5_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R5.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR5);
                cB10R2.Items.Add(LastSIR5);
                cB10R3.Items.Add(LastSIR5);
                cB10R4.Items.Add(LastSIR5);
                cB10R6.Items.Add(LastSIR5);
                cB10R7.Items.Add(LastSIR5);
                cB10R8.Items.Add(LastSIR5);
                cB10R9.Items.Add(LastSIR5);
                cB10R10.Items.Add(LastSIR5);
                cB10Steuer.Items.Add(LastSIR5);
                cB10Trommel.Items.Add(LastSIR5);
                #endregion
            }
            catch { }
            LastSIR5 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R6_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R6.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR6);
                cB10R2.Items.Add(LastSIR6);
                cB10R3.Items.Add(LastSIR6);
                cB10R4.Items.Add(LastSIR6);
                cB10R5.Items.Add(LastSIR6);
                cB10R7.Items.Add(LastSIR6);
                cB10R8.Items.Add(LastSIR6);
                cB10R9.Items.Add(LastSIR6);
                cB10R10.Items.Add(LastSIR6);
                cB10Steuer.Items.Add(LastSIR6);
                cB10Trommel.Items.Add(LastSIR6);
                #endregion
            }
            catch { }
            LastSIR6 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R7_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R7.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR7);
                cB10R2.Items.Add(LastSIR7);
                cB10R3.Items.Add(LastSIR7);
                cB10R4.Items.Add(LastSIR7);
                cB10R5.Items.Add(LastSIR7);
                cB10R6.Items.Add(LastSIR7);
                cB10R8.Items.Add(LastSIR7);
                cB10R9.Items.Add(LastSIR7);
                cB10R10.Items.Add(LastSIR7);
                cB10Steuer.Items.Add(LastSIR7);
                cB10Trommel.Items.Add(LastSIR7);
                #endregion
            }
            catch { }
            LastSIR7 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R8_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R8.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR8);
                cB10R2.Items.Add(LastSIR8);
                cB10R3.Items.Add(LastSIR8);
                cB10R4.Items.Add(LastSIR8);
                cB10R5.Items.Add(LastSIR8);
                cB10R6.Items.Add(LastSIR8);
                cB10R7.Items.Add(LastSIR8);
                cB10R9.Items.Add(LastSIR8);
                cB10R10.Items.Add(LastSIR8);
                cB10Steuer.Items.Add(LastSIR8);
                cB10Trommel.Items.Add(LastSIR8);
                #endregion
            }
            catch { }
            LastSIR8 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R9_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R9.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR9);
                cB10R2.Items.Add(LastSIR9);
                cB10R3.Items.Add(LastSIR9);
                cB10R4.Items.Add(LastSIR9);
                cB10R5.Items.Add(LastSIR9);
                cB10R6.Items.Add(LastSIR9);
                cB10R7.Items.Add(LastSIR9);
                cB10R8.Items.Add(LastSIR9);
                cB10R10.Items.Add(LastSIR9);
                cB10Steuer.Items.Add(LastSIR9);
                cB10Trommel.Items.Add(LastSIR9);
                #endregion
            }
            catch { }
            LastSIR9 = SelectedItem;
            BerechneGewichtRechts();
        }

        private void cB10R10_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10R10.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10R1.Items.Add(LastSIR10);
                cB10R2.Items.Add(LastSIR10);
                cB10R3.Items.Add(LastSIR10);
                cB10R4.Items.Add(LastSIR10);
                cB10R5.Items.Add(LastSIR10);
                cB10R6.Items.Add(LastSIR10);
                cB10R7.Items.Add(LastSIR10);
                cB10R8.Items.Add(LastSIR10);
                cB10R9.Items.Add(LastSIR10);
                cB10Steuer.Items.Add(LastSIR10);
                cB10Trommel.Items.Add(LastSIR10);
                #endregion
            }
            catch { }
            LastSIR10 = SelectedItem;
            BerechneGewichtRechts();
        }
        #endregion

        #region SelectedIndexChangedTrommelSteuer
        private void cB10Trommel_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10Trommel.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);

            #endregion
            try
            {
                #region Items Adden
                if (!sPaddlerLinks.Contains(LastSIT))
                {
                    cB10R1.Items.Add(LastSIT);
                    cB10R2.Items.Add(LastSIT);
                    cB10R3.Items.Add(LastSIT);
                    cB10R4.Items.Add(LastSIT);
                    cB10R5.Items.Add(LastSIT);
                    cB10R6.Items.Add(LastSIT);
                    cB10R7.Items.Add(LastSIT);
                    cB10R8.Items.Add(LastSIT);
                    cB10R9.Items.Add(LastSIT);
                    cB10R10.Items.Add(LastSIT);
                }
                else if (sPaddlerLinks.Contains(LastSIT) && sPaddlerRechts.Contains(LastSIT))
                {
                    cB10R1.Items.Add(LastSIT);
                    cB10R2.Items.Add(LastSIT);
                    cB10R3.Items.Add(LastSIT);
                    cB10R4.Items.Add(LastSIT);
                    cB10R5.Items.Add(LastSIT);
                    cB10R6.Items.Add(LastSIT);
                    cB10R7.Items.Add(LastSIT);
                    cB10R8.Items.Add(LastSIT);
                    cB10R9.Items.Add(LastSIT);
                    cB10R10.Items.Add(LastSIT);
                    cB10L1.Items.Add(LastSIT);
                    cB10L2.Items.Add(LastSIT);
                    cB10L3.Items.Add(LastSIT);
                    cB10L4.Items.Add(LastSIT);
                    cB10L5.Items.Add(LastSIT);
                    cB10L6.Items.Add(LastSIT);
                    cB10L7.Items.Add(LastSIT);
                    cB10L8.Items.Add(LastSIT);
                    cB10L9.Items.Add(LastSIT);
                    cB10L10.Items.Add(LastSIT);
                }
                else
                {
                    cB10L1.Items.Add(LastSIT);
                    cB10L2.Items.Add(LastSIT);
                    cB10L3.Items.Add(LastSIT);
                    cB10L4.Items.Add(LastSIT);
                    cB10L5.Items.Add(LastSIT);
                    cB10L6.Items.Add(LastSIT);
                    cB10L7.Items.Add(LastSIT);
                    cB10L8.Items.Add(LastSIT);
                    cB10L9.Items.Add(LastSIT);
                    cB10L10.Items.Add(LastSIT);
                }
                cB10Steuer.Items.Add(LastSIT);
                #endregion
            }
            catch { }
            LastSIT = SelectedItem;
            BerechneGesamtGewicht();
        }

        private void cB10Steuer_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10Steuer.SelectedItem.ToString();
            #region ItemsRemoven
            cB10R1.Items.Remove(SelectedItem);
            cB10R2.Items.Remove(SelectedItem);
            cB10R3.Items.Remove(SelectedItem);
            cB10R4.Items.Remove(SelectedItem);
            cB10R5.Items.Remove(SelectedItem);
            cB10R6.Items.Remove(SelectedItem);
            cB10R7.Items.Remove(SelectedItem);
            cB10R8.Items.Remove(SelectedItem);
            cB10R9.Items.Remove(SelectedItem);
            cB10R10.Items.Remove(SelectedItem);
            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);

            #endregion
            try
            {
                #region Items Adden
                if (!sPaddlerLinks.Contains(LastSIS))
                {
                    cB10R1.Items.Add(LastSIS);
                    cB10R2.Items.Add(LastSIS);
                    cB10R3.Items.Add(LastSIS);
                    cB10R4.Items.Add(LastSIS);
                    cB10R5.Items.Add(LastSIS);
                    cB10R6.Items.Add(LastSIS);
                    cB10R7.Items.Add(LastSIS);
                    cB10R8.Items.Add(LastSIS);
                    cB10R9.Items.Add(LastSIS);
                    cB10R10.Items.Add(LastSIS);
                }
                else if (sPaddlerLinks.Contains(LastSIT) && sPaddlerRechts.Contains(LastSIT))
                {
                    cB10R1.Items.Add(LastSIT);
                    cB10R2.Items.Add(LastSIT);
                    cB10R3.Items.Add(LastSIT);
                    cB10R4.Items.Add(LastSIT);
                    cB10R5.Items.Add(LastSIT);
                    cB10R6.Items.Add(LastSIT);
                    cB10R7.Items.Add(LastSIT);
                    cB10R8.Items.Add(LastSIT);
                    cB10R9.Items.Add(LastSIT);
                    cB10R10.Items.Add(LastSIT);
                    cB10L1.Items.Add(LastSIT);
                    cB10L2.Items.Add(LastSIT);
                    cB10L3.Items.Add(LastSIT);
                    cB10L4.Items.Add(LastSIT);
                    cB10L5.Items.Add(LastSIT);
                    cB10L6.Items.Add(LastSIT);
                    cB10L7.Items.Add(LastSIT);
                    cB10L8.Items.Add(LastSIT);
                    cB10L9.Items.Add(LastSIT);
                    cB10L10.Items.Add(LastSIT);
                }
                else
                {
                    cB10L1.Items.Add(LastSIS);
                    cB10L2.Items.Add(LastSIS);
                    cB10L3.Items.Add(LastSIS);
                    cB10L4.Items.Add(LastSIS);
                    cB10L5.Items.Add(LastSIS);
                    cB10L6.Items.Add(LastSIS);
                    cB10L7.Items.Add(LastSIS);
                    cB10L8.Items.Add(LastSIS);
                    cB10L9.Items.Add(LastSIS);
                    cB10L10.Items.Add(LastSIS);
                }
                cB10Trommel.Items.Add(LastSIS);
                #endregion
            }
            catch { }
            LastSIS = SelectedItem;
            BerechneGesamtGewicht();
        }
        #endregion

        #region SelectedIndexChangedLinks
        private void cB10L1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L1.SelectedItem.ToString();
            #region ItemsRemoven
            
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L2.Items.Add(LastSIL1);
                cB10L3.Items.Add(LastSIL1);
                cB10L4.Items.Add(LastSIL1);
                cB10L5.Items.Add(LastSIL1);
                cB10L6.Items.Add(LastSIL1);
                cB10L7.Items.Add(LastSIL1);
                cB10L8.Items.Add(LastSIL1);
                cB10L9.Items.Add(LastSIL1);
                cB10L10.Items.Add(LastSIL1);
                cB10Trommel.Items.Add(LastSIL1);
                cB10Steuer.Items.Add(LastSIL1);
                #endregion
            }
            catch { }
            LastSIL1 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L2.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL2);
                cB10L3.Items.Add(LastSIL2);
                cB10L4.Items.Add(LastSIL2);
                cB10L5.Items.Add(LastSIL2);
                cB10L6.Items.Add(LastSIL2);
                cB10L7.Items.Add(LastSIL2);
                cB10L8.Items.Add(LastSIL2);
                cB10L9.Items.Add(LastSIL2);
                cB10L10.Items.Add(LastSIL2);
                cB10Trommel.Items.Add(LastSIL2);
                cB10Steuer.Items.Add(LastSIL2);
                #endregion
            }
            catch { }
            LastSIL2 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L3_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L3.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL3);
                cB10L2.Items.Add(LastSIL3);
                cB10L4.Items.Add(LastSIL3);
                cB10L5.Items.Add(LastSIL3);
                cB10L6.Items.Add(LastSIL3);
                cB10L7.Items.Add(LastSIL3);
                cB10L8.Items.Add(LastSIL3);
                cB10L9.Items.Add(LastSIL3);
                cB10L10.Items.Add(LastSIL3);
                cB10Trommel.Items.Add(LastSIL3);
                cB10Steuer.Items.Add(LastSIL3);
                #endregion
            }
            catch { }
            LastSIL3 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L4_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L4.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL4);
                cB10L2.Items.Add(LastSIL4);
                cB10L3.Items.Add(LastSIL4);
                cB10L5.Items.Add(LastSIL4);
                cB10L6.Items.Add(LastSIL4);
                cB10L7.Items.Add(LastSIL4);
                cB10L8.Items.Add(LastSIL4);
                cB10L9.Items.Add(LastSIL4);
                cB10L10.Items.Add(LastSIL4);
                cB10Trommel.Items.Add(LastSIL4);
                cB10Steuer.Items.Add(LastSIL4);
                #endregion
            }
            catch { }
            LastSIL4 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L5_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L5.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL5);
                cB10L2.Items.Add(LastSIL5);
                cB10L3.Items.Add(LastSIL5);
                cB10L4.Items.Add(LastSIL5);
                cB10L6.Items.Add(LastSIL5);
                cB10L7.Items.Add(LastSIL5);
                cB10L8.Items.Add(LastSIL5);
                cB10L9.Items.Add(LastSIL5);
                cB10L10.Items.Add(LastSIL5);
                cB10Trommel.Items.Add(LastSIL5);
                cB10Steuer.Items.Add(LastSIL5);
                #endregion
            }
            catch { }
            LastSIL5 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L6_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L6.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL6);
                cB10L2.Items.Add(LastSIL6);
                cB10L3.Items.Add(LastSIL6);
                cB10L4.Items.Add(LastSIL6);
                cB10L5.Items.Add(LastSIL6);
                cB10L7.Items.Add(LastSIL6);
                cB10L8.Items.Add(LastSIL6);
                cB10L9.Items.Add(LastSIL6);
                cB10L10.Items.Add(LastSIL6);
                cB10Trommel.Items.Add(LastSIL6);
                cB10Steuer.Items.Add(LastSIL6);
                #endregion
            }
            catch { }
            LastSIL6 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L7_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L7.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL7);
                cB10L2.Items.Add(LastSIL7);
                cB10L3.Items.Add(LastSIL7);
                cB10L4.Items.Add(LastSIL7);
                cB10L5.Items.Add(LastSIL7);
                cB10L6.Items.Add(LastSIL7);
                cB10L8.Items.Add(LastSIL7);
                cB10L9.Items.Add(LastSIL7);
                cB10L10.Items.Add(LastSIL7);
                cB10Trommel.Items.Add(LastSIL7);
                cB10Steuer.Items.Add(LastSIL7);
                #endregion
            }
            catch { }
            LastSIL7 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L8_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L8.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL8);
                cB10L2.Items.Add(LastSIL8);
                cB10L3.Items.Add(LastSIL8);
                cB10L4.Items.Add(LastSIL8);
                cB10L5.Items.Add(LastSIL8);
                cB10L6.Items.Add(LastSIL8);
                cB10L7.Items.Add(LastSIL8);
                cB10L9.Items.Add(LastSIL8);
                cB10L10.Items.Add(LastSIL8);
                cB10Trommel.Items.Add(LastSIL8);
                cB10Steuer.Items.Add(LastSIL8);
                #endregion
            }
            catch { }
            LastSIL8 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L9_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L9.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L10.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL9);
                cB10L2.Items.Add(LastSIL9);
                cB10L3.Items.Add(LastSIL9);
                cB10L4.Items.Add(LastSIL9);
                cB10L5.Items.Add(LastSIL9);
                cB10L6.Items.Add(LastSIL9);
                cB10L7.Items.Add(LastSIL9);
                cB10L8.Items.Add(LastSIL9);
                cB10L10.Items.Add(LastSIL9);
                cB10Trommel.Items.Add(LastSIL9);
                cB10Steuer.Items.Add(LastSIL9);
                #endregion
            }
            catch { }
            LastSIL9 = SelectedItem;
            BerechneGewichtLinks();
        }

        private void cB10L10_SelectedIndexChanged(object sender, EventArgs e)
        {
            string SelectedItem = cB10L10.SelectedItem.ToString();
            #region ItemsRemoven

            cB10L1.Items.Remove(SelectedItem);
            cB10L2.Items.Remove(SelectedItem);
            cB10L3.Items.Remove(SelectedItem);
            cB10L4.Items.Remove(SelectedItem);
            cB10L5.Items.Remove(SelectedItem);
            cB10L6.Items.Remove(SelectedItem);
            cB10L7.Items.Remove(SelectedItem);
            cB10L8.Items.Remove(SelectedItem);
            cB10L9.Items.Remove(SelectedItem);
            cB10Trommel.Items.Remove(SelectedItem);
            cB10Steuer.Items.Remove(SelectedItem);
            #endregion
            try
            {
                #region Items Adden
                cB10L1.Items.Add(LastSIL10);
                cB10L2.Items.Add(LastSIL10);
                cB10L3.Items.Add(LastSIL10);
                cB10L4.Items.Add(LastSIL10);
                cB10L5.Items.Add(LastSIL10);
                cB10L6.Items.Add(LastSIL10);
                cB10L7.Items.Add(LastSIL10);
                cB10L8.Items.Add(LastSIL10);
                cB10L9.Items.Add(LastSIL10);
                cB10Trommel.Items.Add(LastSIL10);
                cB10Steuer.Items.Add(LastSIL10);
                #endregion
            }
            catch { }
            LastSIL10 = SelectedItem;
            BerechneGewichtLinks();
        }
        #endregion

        #region Gewicht
        private void BerechneGewichtRechts()
        {
            GewichtRechts = 0;
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R1.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R2.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R3.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R4.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R5.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R6.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R7.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R8.Text)];} catch {}
            try {GewichtRechts += iGewicht[sName.IndexOf(cB10R9.Text)];} catch {}
            try { GewichtRechts += iGewicht[sName.IndexOf(cB10R10.Text)];} catch {}

            lblGewichtRechts.Text = GewichtRechts.ToString();
            BerechneGesamtGewicht();
        }
        private void BerechneGewichtLinks()
        {
            GewichtLinks = 0;
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L1.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L2.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L3.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L4.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L5.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L6.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L7.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L8.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L9.Text)];} catch {}
            try {GewichtLinks += iGewicht[sName.IndexOf(cB10L10.Text)];} catch {}

            lblGewichtLinks.Text = GewichtLinks.ToString();
            BerechneGesamtGewicht();
        }
        private void BerechneGesamtGewicht()
        {
            GesamtGewicht = 0;
            GesamtGewicht += GewichtLinks;
            GesamtGewicht += GewichtRechts;
            try {GesamtGewicht += iGewicht[sName.IndexOf(cB10Trommel.Text)];} catch {}
            try {GesamtGewicht += iGewicht[sName.IndexOf(cB10Steuer.Text)];} catch {}
            lblGesamtGewicht.Text = GesamtGewicht.ToString();

            //ZähleFrauen();
            //ZähleMänner();
        }
        #endregion

        private void AufstellungToList()
        {
            sAufstellung.Clear();
            sAufstellung.Add(cB10Trommel.Text);
            sAufstellung.Add(cB10L1.Text);
            sAufstellung.Add(cB10L2.Text);
            sAufstellung.Add(cB10L3.Text);
            sAufstellung.Add(cB10L4.Text);
            sAufstellung.Add(cB10L5.Text);
            sAufstellung.Add(cB10L6.Text);
            sAufstellung.Add(cB10L7.Text);
            sAufstellung.Add(cB10L8.Text);
            sAufstellung.Add(cB10L9.Text);
            sAufstellung.Add(cB10L10.Text);
            sAufstellung.Add(cB10R1.Text);
            sAufstellung.Add(cB10R2.Text);
            sAufstellung.Add(cB10R3.Text);
            sAufstellung.Add(cB10R4.Text);
            sAufstellung.Add(cB10R5.Text);
            sAufstellung.Add(cB10R6.Text);
            sAufstellung.Add(cB10R7.Text);
            sAufstellung.Add(cB10R8.Text);
            sAufstellung.Add(cB10R9.Text);
            sAufstellung.Add(cB10R10.Text);
            sAufstellung.Add(cB10Steuer.Text);
            Serialisierung();

        }
        private void ListToAufstellung()
        {
            try {cB10Trommel.Text = sAufstellung[0]; }catch{}
            try {cB10L1.Text = sAufstellung[1]; }catch{}
            try {cB10L2.Text = sAufstellung[2]; }catch{}
            try {cB10L3.Text = sAufstellung[3]; }catch{}
            try {cB10L4.Text = sAufstellung[4]; }catch{}
            try {cB10L5.Text = sAufstellung[5]; }catch{}
            try {cB10L6.Text = sAufstellung[6]; }catch{}
            try {cB10L7.Text = sAufstellung[7]; }catch{}
            try {cB10L8.Text = sAufstellung[8]; }catch{}
            try {cB10L9.Text = sAufstellung[9]; }catch{}
            try {cB10L10.Text = sAufstellung[10]; }catch{}
            try {cB10R1.Text = sAufstellung[11]; }catch{}
            try {cB10R2.Text = sAufstellung[12]; }catch{}
            try {cB10R3.Text = sAufstellung[13]; }catch{}
            try {cB10R4.Text = sAufstellung[14]; }catch{}
            try {cB10R5.Text = sAufstellung[15]; }catch{}
            try {cB10R6.Text = sAufstellung[16]; }catch{}
            try {cB10R7.Text = sAufstellung[17]; }catch{}
            try {cB10R8.Text = sAufstellung[18]; }catch{}
            try {cB10R9.Text = sAufstellung[19]; }catch{}
            try {cB10R10.Text = sAufstellung[20]; }catch{}
            try {cB10Steuer.Text = sAufstellung[21]; }catch{}

        }

        #region Drucken
        private void cmd_Drucken_Click(object sender, EventArgs e)
        {
            CaptureScreen();
            printDocument1.Print();
        }
        
        private void CaptureScreen()
        {
            Graphics myGraphics = p10BankBoot.CreateGraphics();
            Size s = p10BankBoot.Size;
            memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
            Graphics memoryGraphics = Graphics.FromImage(memoryImage);
            memoryGraphics.CopyFromScreen(p10BankBoot.Location.X, p10BankBoot.Location.Y, 0, 0, s);
        }

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            e.Graphics.DrawImage(memoryImage, 0, 0);
        }
        #endregion

        private void cmdSpeichern_Click(object sender, EventArgs e)
        {
            AufstellungToList();
        }

        private void ZähleFrauen()
        {
            Frauen = 0;
            if (cB10L1.Text != "" && sGeschlaecht[sName.IndexOf(cB10L1.Text)]=="Weiblich")
            {
                Frauen++;  
            }
            if (cB10L2.Text != "" && sGeschlaecht[sName.IndexOf(cB10L2.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L3.Text != "" && sGeschlaecht[sName.IndexOf(cB10L3.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L4.Text != "" && sGeschlaecht[sName.IndexOf(cB10L4.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L5.Text != "" && sGeschlaecht[sName.IndexOf(cB10L5.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L6.Text != "" && sGeschlaecht[sName.IndexOf(cB10L6.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L7.Text != "" && sGeschlaecht[sName.IndexOf(cB10L7.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L8.Text != "" && sGeschlaecht[sName.IndexOf(cB10L8.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L9.Text != "" && sGeschlaecht[sName.IndexOf(cB10L9.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10L10.Text != "" && sGeschlaecht[sName.IndexOf(cB10L10.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R1.Text != "" && sGeschlaecht[sName.IndexOf(cB10R1.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R2.Text != "" && sGeschlaecht[sName.IndexOf(cB10R2.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R3.Text != "" && sGeschlaecht[sName.IndexOf(cB10R3.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R4.Text != "" && sGeschlaecht[sName.IndexOf(cB10R4.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R5.Text != "" && sGeschlaecht[sName.IndexOf(cB10R5.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R6.Text != "" && sGeschlaecht[sName.IndexOf(cB10R6.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R7.Text != "" && sGeschlaecht[sName.IndexOf(cB10R7.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R8.Text != "" && sGeschlaecht[sName.IndexOf(cB10R8.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R9.Text != "" && sGeschlaecht[sName.IndexOf(cB10R9.Text)] == "Weiblich")
            {
                Frauen++;
            }
            if (cB10R10.Text != "" && sGeschlaecht[sName.IndexOf(cB10R10.Text)] == "Weiblich")
            {
                Frauen++;
            }
            lblFrauenAnz.Text = Frauen.ToString();
        }
        private void ZähleMänner()
        {
            
            Männer = 0;
            if (cB10L1.Text != "" && sGeschlaecht[sName.IndexOf(cB10L1.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L2.Text != "" && sGeschlaecht[sName.IndexOf(cB10L2.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L3.Text != "" && sGeschlaecht[sName.IndexOf(cB10L3.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L4.Text != "" && sGeschlaecht[sName.IndexOf(cB10L4.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L5.Text != "" && sGeschlaecht[sName.IndexOf(cB10L5.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L6.Text != "" && sGeschlaecht[sName.IndexOf(cB10L6.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L7.Text != "" && sGeschlaecht[sName.IndexOf(cB10L7.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L8.Text != "" && sGeschlaecht[sName.IndexOf(cB10L8.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L9.Text != "" && sGeschlaecht[sName.IndexOf(cB10L9.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10L10.Text != "" && sGeschlaecht[sName.IndexOf(cB10L10.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R1.Text != "" && sGeschlaecht[sName.IndexOf(cB10R1.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R2.Text != "" && sGeschlaecht[sName.IndexOf(cB10R2.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R3.Text != "" && sGeschlaecht[sName.IndexOf(cB10R3.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R4.Text != "" && sGeschlaecht[sName.IndexOf(cB10R4.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R5.Text != "" && sGeschlaecht[sName.IndexOf(cB10R5.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R6.Text != "" && sGeschlaecht[sName.IndexOf(cB10R6.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R7.Text != "" && sGeschlaecht[sName.IndexOf(cB10R7.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R8.Text != "" && sGeschlaecht[sName.IndexOf(cB10R8.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R9.Text != "" && sGeschlaecht[sName.IndexOf(cB10R9.Text)] == "Männlich")
            {
                Männer++;
            }
            if (cB10R10.Text != "" && sGeschlaecht[sName.IndexOf(cB10R10.Text)] == "Männlich")
            {
                Männer++;
            }
            lblMännerAnz.Text = Männer.ToString();

        }


        /*public static void Serialize(clsTeams Teams)
        {
            var ser = new XmlSerializer(typeof(clsTeams));

            TextWriter textWriter = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + @"\"+aktTeamName+".xml");
            ser.Serialize(textWriter, Teams);
            textWriter.Close();
        }

        public static clsTeams DeSerialize()
        {
            var deser = new XmlSerializer(typeof(clsTeams));

            TextReader textReader = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"\" + aktTeamName + ".xml");
            var returnValue = (clsTeams)deser.Deserialize(textReader);
            textReader.Close();

            return returnValue;
        }
        */



    }
}
